Настройка доступа к базам данных в OX

OpenXava использует каркас Hibernate для доступа к базам данных. Для того, чтобы Hibernate формировал корректные конструкции SQL для вашей базы данных, необходимо указать используемый диалект базы данных. Список поддерживаемых Hibernate диалектов можно посмотреть здесь. Вы можете использовать любой из них.

JPA entities (стиль OX3)

Если вы использует Java аннотации (стиль OX3) и вы хотите сменить Hypersonic (который используется по-умолчанию в проектах OpenXava), например, на Oracle, вам необходимо отредактировать файл persitence/META-INF/persistence.xml вашего проекта, заменив:
 <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
на
 <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle9Dialect"/>

Если вы используете тесты junit (для тестирования CRUD) или используете задачу Ant "updateSchema", вам необходимо также заменить содержимое persistence-unit name="junit" на следующее (Не забудьте выставить корректные параметры подключения к вашей базе данных):

 <persistence-unit name="junit">
 <properties>
 <property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver"/>
 <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle9Dialect"/>
 <property name="hibernate.connection.url" value="jdbc:oracle:thin:@localhost:1521:XE"/>
 <property name="hibernate.connection.username" value="user"/>
 <property name="hibernate.connection.password" value="password"/>
 </properties>
 </persistence-unit>

Аналогично, если вы хотите хранить данные user preferences tab в базе данных вашего приложения (в нашем случае, Oracle), вам необходимо отредактировать persistence/openxava-hibernate.cfg, указав корректные datasource и dialect:

 <session-factory>
 <property name="hibernate.connection.datasource">java:comp/env/jdbc/MyApplicationDS</property>
 <property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
 <property name="hibernate.jdbc.use_get_generated_keys">false</property>
 <mapping resource="TabUserPreferences.hbm.xml"/>
 </session-factory>

Это все.

XML компоненты (классический стиль OX2)

Если вы используете XML описания бизнес-компонентов в стиле OX2, вам необходимо создать копию файла tomcat-hypersonic.properties в корневом каталоге вашего проекта с именем tomcat-oracle.properties, а также изменить в нем строку:
 hibernate.dialect=org.hibernate.dialect.HSQLDialect
на:
 hibernate.dialect=org.hibernate.dialect.OracleDialect
Затем отредактируйте файл build.xml вашего проекта, заменив:
 <property name="configuration" value="tomcat-hypersonic" />
на
 <property name="configuration" value="oracle-hypersonic" />